home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d19
/
pkins710.arc
/
PKINSERT.DOC
< prev
next >
Wrap
Text File
|
1992-01-02
|
36KB
|
1,021 lines
┌───────────────────────────────────────┐
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ P K I N S E R T │
│ Version 7.10 │
│ │
│ │
│ Copyright 7th Illusion, 1990-1992 │
│ All Rights Reserved │
│ Released January 1st, 1992 │
│ │
│ F R E E W A R E │
│ │
│ │
│ │
│ │
│ │
│ │
│ Software Documentation │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ 7th Illusion │
│ P.O. Box 1334, Station H │
│ Montreal QC, Canada │
│ H3G 2N6 │
│ │
│ │
│ │
│ │
│ Node 1 (514)338-1193 14400 Bps │
│ Node 2 (514)338-1680 2400 Bps │
│ │
│ 1:167/281.0@fidonet.org │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└───────────────────────────────────────┘
PKInsert Software Documentation Page 1 of 16
──────────────────────────────────────────────────────────────────────
Introduction
PKInsert is an archive manipulation utility. It may be configured to
test archive integrity, scan for virii, insert and/or delete BBS
disclaimers/Ads, and throw in archive comments. Zip, Lzh, Arj, and
Arj-Sfx type archives are all fully supported.
You'll find an abundance of configuration techniques available.
Although many features will be especially useful to PCBoard SysOps,
I've tried to target as large a user base as possible. I've done my
best to translate the knowledge I have of PKInsert into this document.
If however you need further help or have suggestions for improvements,
don't hesitate to leave a message on my system. Long-distance
callback validation is available and the latest version is always
posted for download.
PKInsert is the copyrighted property of 7th Illusion Enr., and is made
available under the "freeware" concept. Freeware products are
distributed freely and without charge.
Supplemental information on installing PKInsert with PCBoard is
available from the PKInsPCB.Doc file.
PKInsert was written in QuickBASIC V4.5 on a 386-33mhz IBM Compatible
running under DESQview V2.41, QEMM V6.02, Microsoft DOS V3.30, and
Norton Utilities 5.0 Small Disk Cache.
J.S. Morisset aka Storm Widow
SysOp of 7th Illusion Enr.
PKInsert Software Documentation Page 2 of 16
──────────────────────────────────────────────────────────────────────
Acknowledgements
The following names are either trademarks, registered trademarks,
and/or efforts of the person and/or company named.
PCBoard Clark Development Company
Pkzip/Pkunzip PKWare Inc.
Lha Haruyasu Yoshizaki
Arj Robert K. Jung
SCAN McAfee Associates
DESQview/QEMM Quarterdeck
The terms ARC, ARCHIVE, UNARC, etc. are used throughout this document
and are considered GENERIC TERMS FOR ZIP, LZH, AND ARJ ARCHIVE TYPES.
Requirements
PKInsert will not load unless you have the following software
available from a PATHed directory. The versions shown are those
tested with PKInsert at the time of it's release.
PKZIP/UNZIP.EXE Version 1.10 PKZ110.EXE
LZH.EXE Version 2.13 LHA213.EXE
ARJ.EXE Version 2.22 ARJ222.EXE
SCAN.EXE Version 8.1V85 (Optional) SCANV85.ZIP
Upgrading
Please review the PKInsert.New documentation for details on new
features and bug fixes.
Version 7.00
Simply copy PKInsert.Exe to the appropriate directory. Version
7.10 is fully compatible with version 7.00's configuration file.
If you have a ramdisk installed, I suggest you run the /CONFIG
module to adjust the new ARJ "Comment Only" parameter.
Version 6.62 and Earlier
Delete all your old configuration files and follow the directions
for a new installation.
PKInsert Software Documentation Page 3 of 16
──────────────────────────────────────────────────────────────────────
PKInsert Parameters
PKInsert [Parameters] [@Files.Lst and/or Files.Ext] [Etc.]
Parameters may be entered from the command line or environment
variable. Environment parameters will over-ride those of the
configuration file, and command line parameters will over-ride those
of the environment. Parameters are not case sensitive and may be
entered in any order.
/C{FileName.Cfg}
Marks PKInserts configuration file name and path. This variable
must be present in the environment or command line for PKInsert to
load successfully.
ie. /cD:\Arc\PKInsert\PKInsert.Cfg
/D{Describ.Ext}
Pcboard archive description file, used to document test failures.
This parameter is passed by PCBoard V14.5a to PCBTest.Bat as (%3).
(optional).
ie. /dD:\Pcb\Work\Uldesc.1
/d%3
/N{Node}
Network node number. Maximum length of three alpha-numeric
characters. This parameter is rarely needed for a Bulletin Board
installation. PKInsert will retrieve the node number from
Door.Sys and/or PCBoard.Sys files. (optional).
ie. /n1A
/S{ScanVer}
Version of Scan you are currently using. Maximum length of six
alpha-numeric characters. Most commonly used in a default
environment value set within Autoexec.Bat. (optional).
ie. /s8.1V85
/CONFIG
Load PKInserts configuration module.
ie. PKInsert.Exe /cPKInsert.Cfg /Config
/TEST
Re-test an archive. Value is passed by PCBoard V14.5a Bulletin
Boards to PCBTest.Bat as (%2). Affects verbose log file results
PKInsert Software Documentation Page 4 of 16
──────────────────────────────────────────────────────────────────────
when a virus is located. (optional).
ie. PKInsert.Exe /Test Archive.Zip
/UPLOAD
Process an upload. Value is passed by PCBoard V14.5a Bulletin
Boards to PCBTest.Bat as (%2). Affects verbose log file results
when a virus is located. (optional).
ie. PKInsert.Exe /Upload Archive.Zip
Configuration Module
To configure PKInsert for the first time, follow this first example.
PKInsert.Exe /Config /cC:\PKInsert\PKInsert.Cfg
PKInsert will ask you to verify the path and name of the configuration
file to create. Pressing the (Esc) key will get you back to Dos.
From the main configuration menu you will have three choices available
to you. We will start from the first and explain every item as we go
along. All standard editing keys are active.
Note: It is possible to use a single configuration file for multiple
users/work stations.
Default configuration values may differ based on initial drive
and directory locations.
PKInsert Software Documentation Page 5 of 16
──────────────────────────────────────────────────────────────────────
╔════════════════════════════════════════════════════════════════════╗
║ Options Menu ║
║ ║
║ Xtract/Temp Files Drive : C Insert Archive Comment : N ║
║ Req Xtract Space (%Arc) : 250 Delete Disclaimer(s) : N ║
║ Add File(s) to Archive : N ║
║ Rename Bad/Virused Arcs : Y ║
║ Held Archive Rename Ext : HLD Manage Pass/Fail Log : N ║
║ Keep Result/Error Log : Y ║
║ Test Archive CRC : Y Max. Standard Log Size : 80 ║
║ Corrupt Arc Rename Ext : BAD ║
║ ║
║ Scan Archives for Virii : N ║
║ Virused Arc Rename Ext : VIR ║
║ McAfee Assoc. SCAN Ver : 0.0V00 ║
║ ║
║ Number Taglines to Keep : 10 ║
║ Identification Tagline? ║
║ Generic Tagline ║
║ ║
╚═══ 01/01/92 ════════════════════════════════════════ 07:10:00am ═══╝
Xtract/Temp Files Drive
Enter the drive letter where PKInsert will extract archives for
testing and/or virus scanning. I strongly suggest using a ram-disk
which improves PKInserts performance dramatically.
Req Xtract Space (%Arc)
PKInsert will check for available disk space before extracting
archives. This value is not calculated like tax - 250% would be
translated to 2.5 times the size of the archive. If PKInsert runs out
of disk space during processing, it will rename the archive or exit
with an error level.
Disk space errors are also reported during archive extraction (by most
archivers), but verifying disk space before-hand saves time.
Rename Bad/Virused Arcs
Read this section carefully; this option dramatically influences
PKInserts internal and external behavior. If archives are to be
processed individually (testing an upload) I highly recommend setting
this value to (N)o.
(Y)es Setting
PKInsert will rename archives using the file extensions you enter
bellow. It is assumed you will be processing archives on a
wildcard (such as *.Arc). When encountering a virused or corrupt
archive, PKinsert will rename it and continue to the next file.
This method is not very selective - Any error reported by
PKInsert Software Documentation Page 6 of 16
──────────────────────────────────────────────────────────────────────
Pkzip/unzip, Lzh, Arj, or Scan will lead to an archive being
renamed. These problems could be caused by a virus, corrupt
archive, insufficient disk space, memory, etc.
WHEN RENAMING ARCHIVES PKINSERT WILL _ALWAYS_ EXIT WITH AND
ERRORLEVEL OF (0) AND PASS/FAIL RESULT LOGING WILL BE DISABLED.
(N)o Setting
On the other hand, if you have elected not to rename archives, you
can do your own error checking when PKInsert exits. You may use
errorlevel statements (in a batch file) and/or a Pass/Fail log
existence check. The complete list of PKInsert exit codes is
available in appendix A.
PKINSERT MUST EXIT IMMEDIATELY AFTER AN ERROR OCCURS SO THIS
OPTION IS NOT RECOMMENDED FOR WILDCARD PROCESSING.
Held Archive Rename Ext
An archive will be renamed (if rename is enabled) to .Hld if a file
measures 0 bytes, disk space runs out, or the file is not a valid
archive. This provides a method to hold archives which did not fail
because of Pkzip/unzip, Lzh, Arj, or Scan for later review.
Test Archive CRC
Before handling an archive, PKInsert calls Pkunzip, Lzh, or Arj to
test the archive's integrity. Nested archives (Arcs within Arcs) are
also tested.
Note: An archive may contain a maximum of 4,294,967,295 nested
archives. Anything over that, and I'm not responsible for
the results! <grin>
Corrupt Arc Rename Ext
If you choose to have archives renamed, PKInsert will use this file
extension to rename damaged zips.
Scan Archives for Virii
PKInsert can use Scan.Exe from McAfee Associates to check archives for
viral infection. Although archives are expanded to check for viruses
it is unlikely you will 'catch' anything. Virii which can be archived
attach themselves to executable code. The files extracted are Scaned
and never executed.
Virused Arc Rename Ext
When a virus is detected, the archive will be renamed using this
extension (provided renaming is enabled).
McAfee Assoc. SCAN Ver
PKInsert Software Documentation Page 7 of 16
──────────────────────────────────────────────────────────────────────
As of this writing the current version of scan is 8.1V85. This field
may be blank or up to six alpha-numeric characters. If you assign a
value, it will be used in several display files where mention of Scan
is made. A command line or environment parameter may be used to
over-ride this value.
Number Taglines to Keep
A Tagline is added to each archive comment containing PKInsert's
version number and your personalized information. Taglines from other
systems may be kept and appended to your archive comment. This value
determines the maximum number of past Taglines to keep. A value of
zero may be used to disable this feature.
Note: The Test, Scan, or Delete functions must be enabled for
PKInsert to pick up past Tagline information.
Only Zip and Arj type archives are able to contain archive
comments. This option, or anything related to archive
comments, will be ignored for Lzh archives.
Identification Tagline?
Your personalized Tagline. Usually this includes your BBS's name,
phone number, and special system features. As the archive travels
through various systems, your tagline will remain within the archive
comment (providing other systems keep previous Taglines).
Once a system tagline has been embedded into the archive comment, it
is still possible to alter it slightly. PKInsert does not take into
account case, spacing, or any non alpha-numeric character. Adding,
erasing, or changing the positions of alpha-numeric characters will
cause your old tagline to be used in the Tagline history bloc IF/WHEN
THE ARCHIVE IS RE-PROCESSED.
Note: A Tagline environment variable may be used to over-ride the
configuration file value.
ie. SET TAGLINE=7th Illusion /Mainstream Cyberspace/
Insert Archive Comment
Archives created by Pkzip and Arj give us the opportunity to insert an
archive comment screen (Lha does not support archive comments). If
you elect not to insert comments, THE ORIGINAL WILL REMAIN
UNDISTURBED.
Delete Disclaimer(s)
Certain files, such as !History.Dis are well known to contain
advertisements or disclaimer blurbs. You may elect to delete these
files automatically from each archive PKInsert processes. A sample
list is included within this package which you may edit from the next
PKInsert Software Documentation Page 8 of 16
──────────────────────────────────────────────────────────────────────
configuration screen.
Add File(s) to Archive
Same principle as above, except this option lets you add files to
every archive. I could go on for hours on the reason not to use this
feature, including the fact that you are polluting archives, but I'll
leave it to your better judgment.
Manage Pass/Fail Log
Aside from loging results, PKInsert can also create one of two verbose
log files for every session. These text files could then be displayed
to the user. The names for these files may be specified later on.
Note: In order to properly link with other utilities which use this
type of result logging, special handling is necessary.
Before appending a Failure report, PKInsert will rename the
Pass Log (if it exists) to the Fail Log name. Therefore an
archive could pass a series of tests before calling PKInsert
and still keep those results when PKInsert fails the archive.
If an Extended Fail Log already exists, it will be used to
append PKInserts Pass or Fail reports. In this way an
archive could Fail a series of tests, pass PKInserts tests,
and overall you would be left with one Fail log file.
Keep Result/Error Log
This is a standard log file. I would suggest you keep this option set
to (Y)es. It's maintenance free thanks to the following option.
Max. Standard Log Size
Before every session PKInsert checks the size of it's log. If the
size exceeds this value (in Kbytes), a new one is started.
PKInsert Software Documentation Page 9 of 16
──────────────────────────────────────────────────────────────────────
╔════════════════════════════════════════════════════════════════════╗
║ File Location Menu ║
║ ║
║ Ascii Editor : C:\QEDIT\Q.EXE ║
║ ║
║ Standard Log File : C:\PKINSERT\NODE-#.LOG ║
║ Extended Pass Log File : PCBPASS.TXT ║
║ Extended Fail Log File : PCBFAIL.TXT ║
║ ║
║ Virus Comment (Test) : C:\PKINSERT\VIRUSTST.CMT ║
║ Virus Comment (Upload) : C:\PKINSERT\VIRUSULD.CMT ║
║ ║
║ Archive Comment File : C:\PKINSERT\PKINSERT.CMT ║
║ ║
║ Disclaimer(s) Del List : C:\PKINSERT\PKINSDEL.LST ║
║ Add File(s) List : C:\PKINSERT\PKINSADD.LST ║
║ ║
╚═══ 01/01/92 ════════════════════════════════════════ 07:10:00am ═══╝
Ascii Editor
Ascii editor file name and path. Placing the cursor on a line which
can be edited, a bar will appear at the bottom of the screen informing
you to press F2 to edit the file.
Standard Log File
File name and path of the Standard log file.
Note: Pound (#) signs within text entries are replaced with the
current node number (except in the Tagline field). Node
numbers are retrieved from the Pcboard.Sys and/or Door.Sys
file in the current directory. If none is available, the
node number defaults to zero (0).
If you wish to retain a single configuration file in a
multi-user environment, and do not have Pcboard.Sys and/or
Door.Sys available, you may configure node numbers using the
(/N)ode parameter.
Extended Pass and Fail Log Files
If the 'Manage Pass/Fail Log' option (1st configuration screen) is
enabled, these file names are used to report processing results.
Virus Comment (Test) and (Upload)
These two text files are used when PKInsert has created the Failed Log
File above and _only_ in cases when a virus is found.
The contents of (Test) are added to the Fail log when the (/TEST)
parameter is used. SysOps could use this file to advise users they
should leave a Comment to the SysOp a.s.a.p. so this archive may be
PKInsert Software Documentation Page 10 of 16
──────────────────────────────────────────────────────────────────────
deleted.
Similarly, the contents of (Upload) are added to the Fail log when the
(/UPLOAD) parameter is used. This second text file could advise a
user that his system might be contaminated and to take appropriate
steps before uploading again.
Note: If these files do not exist, they will not be used. This way
you could have a comment for one function and not the other.
PCBoard V14.5a passes these values to PCBTest.Bat as (%2).
Archive Comment File
This file should contain your archive comment (Ascii drawing). Enable
this feature from the 'Configuration Options' menu.
Disclaimer(s) Del List
This list is used when the 'Delete Disclaimer(s)' option is enabled.
A single filespec should be entered on each line. Archive contents
will be compared to this list and matching files will be deleted.
Note: Unfortunately Lha also scans this file for additional command
line arguments, therefore you should NOT begin a filespec
with (-) or (/).
PKInsert will prevent deletion of Pkzip.Exe/Pkunzip.Exe files
from original PKZip upgrades (recognized as a file starting
with PKZ### and ending in EXE or ZIP). You may therefore add
Pkzip.Exe/Pkunzip.Exe to the delete list.
Add File(s) List
Same principal as above, this file should contain a list of filespecs
to insert in every archive. Unlike the delete list, you must include
complete paths for each file.
Note: Incorrect information may cause some archivers to behave
erratically. Please verify that you have entered full paths
(with drive specifier) to existing files.
PKInsert Software Documentation Page 11 of 16
──────────────────────────────────────────────────────────────────────
╔════════════════════════════════════════════════════════════════════╗
║ Command Line Parameters Menu ║
║ ║
║ McAfee Associates SCAN : /a /nobreak /nomem /nopause /sub ║
║ ║
║ Pkzip Del Disclaimer(s) : /bc:\ /dk ║
║ Pkzip Add Files/Comment : /bc:\ /exzk ║
║ Pkunzip Test Archive : /t ║
║ Pkunzip Extract Files : /xn /ojhsr ║
║ ║
║ Lha Del Disclaimer(s) : d /wc:\ ║
║ Lha Add Files : a /wc:\ ║
║ Lha Test Archive : t /m1 ║
║ Lha Extract Files : e /m2 ║
║ ║
║ Arj Del Disclaimer(s) : d /wc:\ /s1 /!@ ║
║ Arj Add Files/Comment : a /wc:\ /s1 /!@ /m4 /e ║
║ Arj Add Comment Only : c /wc:\ /s1 ║
║ Arj Test Archive : t ║
║ Arj Extract Files : e /y ║
║ ║
╚═══ 01/01/92 ════════════════════════════════════════ 07:10:00am ═══╝
These parameters are passed by PKInsert when shelling to third party
software. If you encounter problems with a new parameter set, please
drop me a line so I can adjust PKInsert accordingly.
Pkzip/Lha/Arj Work File Paths
When Pkzip, Lha, or Arj handle an archive they creates temporary work
files. If you have a ram-disk installed, you should edit the above
command line parameters instructing Pkzip, Lha, and Arj to use the
faster drive.
ie. Pkzip Del Disclaimer(s) : /bh:\ /dk
Pkzip Add Files/Comment : /bh:\ /exzk
^^^^^
Lha Del Disclaimer(s) : d /wh:\
Lha Add Files/Comment : a /wh:\
^^^^^
Arj Del Disclaimer(s) : d /wh:\ /s1 /!@
Arj Add Files/Comment : a /wh:\ /s1 /!@ /m4 /e
Arj Add Comment Only : c /wh:\ /s1
^^^^^
Date Stamping
Pkzip
Using the default (k) parameter, will instruct Pkzip NOT to change
the file date of an archive. An (o) will set the archive date to
the oldest file found within the archive. Eliminating this
parameter will cause the archive date to be updated to the current
PKInsert Software Documentation Page 12 of 16
──────────────────────────────────────────────────────────────────────
one.
ie. Pkzip Del Disclaimer(s) : /bh:\ /do
Pkzip Add Files/Comment : /bh:\ /exzo
^^^^^
Lha
Lha will not change an archive's date unless an additional
parameter is used. The (/t1) command instructs Lha to update the
archive's date to the newest file within.
ie. Lha Del Disclaimer(s) : d /wh:\ /t1
Lha Add Files/Comment : a /wh:\ /t1
^^^
Arj
The default switch (/s1) will instruct Arj to keep the same file
date when updating the archive. Eliminating this switch will
stamp the file with the current system date. Using (/s) instead,
will set the archive's date to that of the newest file within.
ie. Arj Del Disclaimer(s) : d /wh:\ /s /!@
Arj Add Files/Comment : a /wh:\ /s /!@ /m4 /e
Arj Add Comment Only : c /wh:\ /s
^^
Optionally you may refer to the appropriate archiver manuals to select
alternative parameters for compression speeds/efficiency, file sorts,
filters, etc.
PKInsert Software Documentation Page 13 of 16
──────────────────────────────────────────────────────────────────────
Using PKInsert
Using PKInsert is fairly simple. From the command line or environment
variable make sure PKInsert knows where to find it's configuration
file. Then call PKInsert passing it file names (or wildcards).
The parameters, file names, etc. may be in any order and any valid
compression standard. You could even enter file names through the
environment variable if you wanted. Some examples follow.
ie. Set PKInsert=/cD:\PKInsert\PKInsert.Cfg /s8.1V85
PKInsert.Exe Abc.Zip
Set PKInsert=/n1 /s8.1v85
PKInsert.Exe %1 /cD:\PKInsert\PKInsert.Cfg *.Exe Abc-?.New
Set PKInsert=/cC:\PKInsert\System.Cfg
PKInsert.Exe *.Zip *.Exe Abc.Bak New.Arj *.Lzh
Set PKInsert=/n1 /sVer85 Archive.* /c\Arc\Config.Pki
PKInsert.Exe
PKInsert.Exe /cThisDir.Cnf Test.Hld
Any filename preceded with an AT (@) symbol will be expected to
contain a list of files to process. Each file specification in this
list must occupy a separate line. Wildcarding is accepted on the
command line and within file lists.
ie. PKInsert.Exe @*.Lst Archive.Zip
Files.Lst
~~~~~~~~~
D:\Arc\*.Arj
Archive.*
E:\Main\Files\Backup.B??
\Work\A*.Tmp
You may also use a combination of directory pipes.
ie. C:\> Dir D:\Arc >Files.Lst
C:\> Dir E:\Main\Files\*.* >>Files.Lst
Instead of entering redundant directory information you can
instruct PKInsert to change drives and directories. Use the (Cd)
command followed by a space, or back-slash, and the directory
name.
ie. Files.Lst
~~~~~~~~~
Archive.Zip
Cd\Arc
Archive.Arj
Cd E:\Main\Files
PKInsert Software Documentation Page 14 of 16
──────────────────────────────────────────────────────────────────────
Good*.*
Bad*.Old
Ugly*.$$$
Cd\C:\Temp
Backup.Z??
PKInsert Software Documentation Page 15 of 16
──────────────────────────────────────────────────────────────────────
Appendix A
PKInsert Exit Codes
Virus Scan
10 One or More Virii Found
11 Abnormal Termination
(Usually Lack of Memory)
Pkunzip
20 Zip Failed CRC Check
21 Error in Zip File
22 Insufficient Memory
23 Archive File Missing
24 Illegal Parameters Specified
25 No Files in Archive to Test
26 Disk Full
27 Unexpected EOF in Zip
Pkzip
40 Bad File Name or File Specification
41 Error in Zip File
42 Insufficient Memory
43 No Files Found To Delete
44 File Not Found
45 Disk Full
46 Archive Is Read-Only - Cannot Modify
47 Bad or Illegal Parameters
48 Too Many Files in Zip
Lha
50 CRC Error or Insufficient Disk Space
51 Temporary Archive Write Failed
Arj
60 Fatal Error
61 Header or File CRC Error
62 ARJ-SECURITY Error or Attempt to Modify
63 Insufficient Disk Space or Write Error
64 Unable to Open Archive
65 Bad or Missing Parameters
66 Insufficient Memory
PKInsert
100 Incorrect Parameters
101 Configuration File Missing
103 Unable To Create Work Directory
104 Invalid Path or No Matching Files
105 Insufficient Drive Space Available
PKInsert Software Documentation Page 16 of 16
──────────────────────────────────────────────────────────────────────
106 Unable To Remove Work Directory
107 Insufficient DOS File Handles
108 Network Delay Timed-Out
109 Unable to Remove Nest Directories
111 Illegal Compression Method Used
112 Zero Byte File
113 Unknown Configuration File Format
114 Unable to Locate File; Pkzip/Unzip or Scan